//取自yudao-mall-uniapp
//sheep\platform\provider\wechat\miniProgram.js

// 微信小程序手机号授权登陆
const mobileLogin = async (e) => {
  return new Promise(async (resolve, reject) => {
    if (e.errMsg !== 'getPhoneNumber:ok') {
      return resolve(false)
    }

    // 1. 获得微信 code
    const codeResult = await uni.login()
    if (codeResult.errMsg !== 'login:ok') {
      return resolve(false)
    }

    // 2. 一键登录
    // const loginResult = await AuthUtil.weixinMiniAppLogin(e.code, codeResult.code, 'default')
    // if (loginResult.code === 0) {
    //   setOpenid(loginResult.data.openid)
    //   return resolve(true)
    // } else {
    //   return resolve(false)
    // }
  })
}

// 设置 openid 到本地存储，目前只有 pay 支付时会使用
// function setOpenid(openid) {
//   uni.setStorageSync('openid', openid)
// }

// 获得 openid
async function getOpenid(force = false) {
  const openid = uni.getStorageSync('openid')
  // if (!openid && force) {
  //   const info = await getInfo()
  //   if (info && info.openid) {
  //     openid = info.openid
  //     setOpenid(openid)
  //   }
  // }
  return openid
}

// 获得社交信息
// async function getInfo() {
//   const { code, data } = await SocialApi.getSocialUser(socialType)
//   if (code !== 0) {
//     return undefined
//   }
//   return data
// }

// ========== 非登录相关的逻辑 ==========

// 小程序更新
const checkUpdate = async (silence = true) => {
  if (uni.canIUse('getUpdateManager')) {
    const updateManager = uni.getUpdateManager()
    updateManager.onCheckForUpdate(function (res) {
      // 请求完新版本信息的回调
      if (res.hasUpdate) {
        updateManager.onUpdateReady(function () {
          uni.showModal({
            title: '更新提示',
            content: '新版本已经准备好，是否重启应用？',
            success: function (res) {
              if (res.confirm) {
                // 新的版本已经下载好，调用 applyUpdate 应用新版本并重启
                updateManager.applyUpdate()
              }
            }
          })
        })
        updateManager.onUpdateFailed(function () {
          // 新的版本下载失败
          // uni.showModal({
          //   title: '已经有新版本了哟~',
          //   content: '新版本已经上线啦，请您删除当前小程序，重新搜索打开~',
          // });
        })
      } else {
        if (!silence) {
          uni.showModal({
            title: '当前为最新版本',
            showCancel: false
          })
        }
      }
    })
  }
}

export default {
  mobileLogin,
  checkUpdate,
  getOpenid
}
